
import axios from 'axios'
// 封装方法一：
// export function request(config){
//   return new Promise((resolve,reject) => {
//     //1.创建axios的实例
//     const instance = axios.create({
//       baseURL: 'http://123.207.32.32:8000',
//       // baseURL: 'https://jz.mzt.zj.gov.cn:7443/st_shzz',
//       timeout: 5000
//     });
//     instance(config)
//       .then(res => {
//         resolve(res)
//       })
//       .catch(err => {
//         reject(err)
//       })
//   })
// }



// 封装方法二：
export function request(config){
  //1.创建axios的实例
  const instance = axios.create({
    baseURL: 'http://123.207.32.32:8000',
    // baseURL: 'https://jz.mzt.zj.gov.cn:7443/st_shzz',
    timeout: 5000
  });


  //2.1.instance请求的拦截器
  instance.interceptors.request.use(config => {
    // 发送成功来到，打印config配置,可以改动config再return返回

    // 1.比如config中的一些信息不符合服务器要求

    // 2.比如每次发送网络请求时，都希望界面显示一个请求的图标

    // 3.某些网络请求（比如登录（token)),必须携带一些特殊的信息
    console.log('请求成功的拦截',config);
    return config
  },err => {
    console.log(err);
    // 请求错误的时候做些什么
    return Promise.reject(err);
  })

  //2.2.instance响应的拦截器
  instance.interceptors.response.use(result => {
    console.log('响应成功的拦截',result);
    return result.data
  },err => {
    // 对响应错误做点什么
    return Promise.reject(err);
  })


  //3.发送真正的网络请求
  return instance(config)
}



// 可以建多个模块，创建多个 axios实例
export function instance(){
}
